import React from 'react'
import { Route, Redirect } from 'react-router-dom'
import { isAuth } from '../../utils/auth.js'

const AuthRoute = ({ component: Component, ...rest }) => {
  // 给 Route 组件添加 render 方法，方法中指定需要渲染的 UI 结构
  return <Route {...rest} render={ props => {
    // 获取用户登录的状态
    const isLogin = isAuth()

    if (isLogin) {
      // 如果用户登录了
      return <Component { ...props } />
    } else {
      return <Redirect to={{
        pathname: '/login',
        // 指定登录成功后要跳转到的页面路径
        state: {
          from: props.location
        }
      }} />
    }
  } } />
}

export default AuthRoute
